<!--SIF Implementation Specification 2.2-6 (March 17, 2008)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.sifinfo.org/infrastructure/2.x" xmlns:sif="http://www.sifinfo.org/infrastructure/2.x" elementFormDefault="qualified">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="imports/xml/xml.xsd" />
  <xs:complexType name="StaffAssignmentType">
    <xs:annotation>
      <xs:documentation>
							This object defines information related to a staff member's assignment(s); commonly, this will be a school
							assignment.
						</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:documentation>Short assignment description</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PrimaryAssignment">
        <xs:annotation>
          <xs:documentation>Is this the staff member's primary assignment?  Note: There must be one and only one instance of the object with a Yes value in this element per school year.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="JobStartDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:documentation>This is the date from which the staff assignment is valid (inclusive).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="JobEndDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:documentation>This is the date through which the staff assignment is valid (inclusive).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="JobFTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:annotation>
              <xs:documentation>Full-time job equivalent ratio for this assignment. (Format is x.xx; an employee who is full-time and who is 50% of their time on this assignment would be represented as 0.50)</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="JobFunction" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code" type="sif:NCES0568FunctionTypeType">
              <xs:annotation>
                <xs:documentation>Code representing the type of job function.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="TeachingAssignment" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Code">
              <xs:annotation>
                <xs:documentation>Code representing the type of teaching assignment.</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:union>
                  <xs:annotation>
                    <xs:documentation>Code representing the type of teaching assignment.</xs:documentation>
                  </xs:annotation>
                  <xs:simpleType>
                    <xs:restriction base="sif:NCES0436TeachingAssignmentType" />
                  </xs:simpleType>
                  <xs:annotation>
                    <xs:documentation>Code representing the type of teaching assignment.</xs:documentation>
                  </xs:annotation>
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="NA">
                        <xs:annotation>
                          <xs:documentation>Not applicable</xs:documentation>
                        </xs:annotation>
                      </xs:enumeration>
                    </xs:restriction>
                  </xs:simpleType>
                </xs:union>
              </xs:simpleType>
            </xs:element>
            <xs:element name="OtherCodeList" minOccurs="0" nillable="true" type="sif:OtherCodeListType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="sif:GradeLevelsType">
        <xs:annotation>
          <xs:documentation>An indication of the grade level(s) the individual is assigned</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItinerantTeacher" minOccurs="0" nillable="true">
        <xs:annotation>
          <xs:documentation>Is this staff itinerant for this assignment?</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:enumeration value="Yes" />
            <xs:enumeration value="No" />
            <xs:enumeration value="NA" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="InstructionalLevel" minOccurs="0" nillable="true" type="sif:InstructionalLevelType">
        <xs:annotation>
          <xs:documentation>An indication of the general nature of instruction provided throughout a course.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType">
        <xs:annotation>
          <xs:documentation>A GUID referencing an EmployeePersonal object to be able to establish a link between HR employee objects and SIS staff objects.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType">
      <xs:annotation>
        <xs:documentation>The GUID that uniquely identifies a particular staff assignment.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType">
      <xs:annotation>
        <xs:documentation>The ID (GUID) that identifies the school where the staff member is assigned.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="SchoolYear" use="required" type="sif:SchoolYearType">
      <xs:annotation>
        <xs:documentation>
							School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., 2007 for the 2006-07 school year).
						</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="StaffPersonalRefId" use="required" type="sif:IdRefType">
      <xs:annotation>
        <xs:documentation>ID (GUID) of this staff member, as represented in the StaffPersonal object. </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="StaffAssignment" type="sif:StaffAssignmentType" />

</xs:schema>